一、🌟 概述
| 类型 | function(函数) | task(任务) |
|---|---|---|
| 用途 | 实现组合逻辑计算 | 实现复杂操作或过程 |
| 是否有返回值 | ✅ 有返回值(function自身) |
❌ 无返回值,需通过 output 传出结果 |
| 是否可带时延 | ❌ 不允许有延迟/等待等时序控制 | ✅ 可以使用 #、@、wait 等 |
| 参数类型 | 仅限 input | 可使用 input、output、inout |
| 是否可调用对方 | ❌ 不能调用 task | ✅ 可以调用 function |
| 是否允许时序语句 | ❌ 不允许使用 #、@、wait |
✅ 允许 |
二、📌 function 函数语法与规则
✅ 基本规则:
- 必须 有返回值(通常是单个值)
- 只能有 输入参数(input)
- 不能包含时间控制语句:如
#、@、wait - 不能调用任务(task)
- 函数必须在模块、生成块或另一个任务/函数内部定义
- 典型用途:如加法器、比较器、逻辑判定等